﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Timetabling.Core
{
    /// <summary>
    /// Clase curso
    /// </summary>
    public class Course : Identity
    {
        //Variables miembro
        /// <summary>
        /// Listado de asignaturas de el curso
        /// </summary>
        private IList<Subject> subjects = null;
        //Propiedades
        /// <summary>
        /// Nombre de el curso
        /// </summary>
        public String Nombre { get; set; }
        /// <summary>
        /// Dia que empieza el curso
        /// </summary>
        public DateTime StartDate { get; set; }
        /// <summary>
        /// Dia que termina el curso
        /// </summary>
        public DateTime EndDate { get; set; }
        /// <summary>
        /// Coordinador del curso
        /// </summary>
        public User Coordinador { get; set; }
        /// <summary>
        /// Centro del curso
        /// </summary>
        public Center Center { get; set; }
        /// <summary>
        /// Listado de asignaturas de el curso
        /// </summary>
        public IList<Subject> Subjects {
            get {

                if (subjects == null)
                {
                    subjects = new List<Subject>();
                }
                return subjects;
            }
            set {
                subjects = value;
            }
        }
    }
}
